Information exchange and consequently the transfer of data between and across a variety of systems and across networks has become prevalent and a necessity in today's society. The volume of data transferred and the need for timely transfer of data are constantly on the rise. However, the medium and the means for conveying data are typically plagued with physical limitations, such as the bandwidth of the networks. As such, there exists a need for a resolution that will meet user demand but remain within the bounds of the physical network.
Historically, a computing system in which one or more client machines communicate with one or more servers over a network is a common arrangement. For example, there are millions of personal computers (PCs) connected to the Internet for communication with various servers. Many of these PC users acquire new or updated software on their PCs by downloading the software from a remote server over the Internet. In addition, users also often provide data and information that must be uploaded to servers on the Internet or other such networks.
Conventional methods of uploading data files, such as pictures or other types of information to a system over a network such as the Internet, adversely impact the user's experience. This adverse impact is particularly noticeable when a low bandwidth connection is being utilized and when a large amount of data is being uploaded. Even with increased processing speeds for PCs, it is the bandwidth of the communication link, along with the transfer of unnecessary information, which is becoming a significant bottleneck to the user's experience. For example, when a user wants to upload a photograph to a server, the resolution of the photograph (which directly corresponds to the quantity and type of information that has to be transferred) determines how much data is transferred. For instance, if a process to be performed on a server only requires a low resolution quantity of data, conventional methods will transfer the same photograph files (JPEG, Bit map, GIFF and so on), as would be transferred for a high resolution use. In other words, conventional methods for uploading such a photograph do not take the issue of resolution into account, particularly whether or not all of the communicated data is necessary and should therefore not be uploaded. Moreover, the time involved in transferring ‘unnecessary’ data results in not only the waste of significant network resources, but also a sluggish user experience and a further limitation on the user's ability to engage in other network activity.
In another example, conventional methods relating to online printing have the user upload all of their files, which could take hours. The user is then allowed via a browser or other such interface, to manipulate, select, and specify sizes or number of desired copies from the uploaded server resident pictures. As such, it is quite possible and often the case that some of the uploaded information was neither required nor utilized and need not have been uploaded.
In light of the foregoing, there exists a need to provide a system and method that will optimize the uploading of information particularly for low bandwidth connections. Furthermore, there is a need for a system and method that provides an effective method to specify the format and data to be uploaded as determined by the destination system so that interference with other network activity is minimized. While one potential solution is simply to increase network bandwidth, increased bandwidth is expensive and has historically been followed by increased user demands. Thus, even as available bandwidth increases with technological advances, there will continue to be a need to eliminate interference with other network activity, minimize unnecessary uploads and reduce data volume.